var optfile=require('./optfile')
var url=require('url')
var querystring=require('querystring')

function getRecall(req,res){
	res.writeHead(200, {"Content-Type": "text/html ; charset=utf-8"});
	//闭包回调函数
	function recall(data){
		res.write(data);
		res.end();
	}
	return recall;
}
function getRecallPic(req,res){
	res.writeHead(200, {"Content-Type": "image/jpeg"});
	//闭包回调函数
	function recall(data){
		res.write(data,'binary');
		res.end();
	}
	return recall;
}
function getRecallJson(req,res){
	res.writeHead(200, {"Content-Type": "application/json;charset=utf-8"});
	//闭包回调函数
	function recall(data){
		res.write(data);
		res.end();
	}
	return recall;
}


module.exports = {
	//默认路由
	index:function (req,res) {
		//get接收参数
		var query=url.parse(req.url,true).query;
		console.log(query);
		optfile.readfile('src/view/index.html',getRecall(req,res));
	},
	//路径不存在
	error:function (req,res) {
		optfile.readfile('src/view/error.html',getRecall(req,res));
	},
	//静态页面例： page/ie9-files.html
	gotoPage:function (pathname,req,res) {
		var pageName=pathname.replace(/page\//,'')
		optfile.readfile('src/view/'+pageName,getRecall(req,res));
	},
	//IE9上传文件（不能返回json只能返回text/html）
	upload:function (req,res) {
		//非跨域，正常返回
		//getRecall(req,res)('{"msg":"上传成功！"}');
		
		//跨域时，需将结果转到前端同域的接收页面
		res.writeHead(301, {'Location': 'http://172.16.50.41:8020/webTest/views/ie9-files-callback.html?data=zmz'});
	    res.end();
	},
	login:function (req,res) {
		res.writeHead(200, {"Content-Type": "text/html;charset=utf-8"});
		
		//获取页面传过来的参数，闭包回调函数
		function recall(data){
			//post参数字符串传键值对
			var postdata=querystring.parse(post);
			//占位符绑定值
			for (var key in postdata) {
				re=new RegExp('{'+key+'}','g');
				data=data.replace(re,postdata[key]);
			}
			//去掉没有绑值的占位符
			data=data.replace(/\{.+\}/g,'');
			//输出到浏览器
			res.write(data);
			res.end();
		}
		
		var post='';
		//post异步接收参数
		req.on('data',function(chunk){
			post+=chunk;
		});
		//post接收参数结束回调
		req.on('end',function(){
			//读取页面模板后回调闭包函数
			optfile.readfile('src/view/login.html',recall);
		});
	},
	tologin:function(req,res){
		var post='';
		req.on('data',function(chunk){
			post+=chunk;
		});
		req.on('end',function(){
			var postdata=querystring.parse(post);
			console.log(postdata);
			getRecallJson(req,res)(JSON.stringify({status:'0000',token:"aucton14lis135&wrojol234235"}));
		});
		//optfile.readfile('src/view/login.html',getRecall(req,res));
	},
	register:function (req,res) {
	  res.write("我是注册方法");
	},
	readfile:function (req,res) {
		//异步读取文件
		optfile.readfile('src/static/data.txt',getRecall(req,res));
	},
	writefile:function (req,res) {
		//异步写入文件
		optfile.writefile('src/static/data.txt','写点东西进来！',getRecall(req,res));
	},
	//读取图片
	getImg:function(req,res){
		optfile.readimg('./src/static/img.jpg',getRecallPic(req,res));
	}
}
